//
// Created by Win on 2017/1/6.
//

#ifndef APM_R4_FRHESSIAN_H
#define APM_R4_FRHESSIAN_H

#include "frreport_comm.h"

typedef struct __hessian_parse
{
    int i_isLastChunk;
    short s_chunkLength;
    int i_ref_id;
}hessian_parse;

/*!
 * \brief hessian this.readObject() 不带参数
 *
 * \arg         p_st_data 数据内容
 *              p_st_body_data 上报数据收集链表
 *              p_name 上报名
 *              p_st_parse hessian 数据相关信息
 *
 * \return      FR_SUCC:成功
 *              FR_FAIL:失败
 *
 */
int frhessian_read_object(Frbyte_Packet *p_st_data, Frreport_body_data *p_st_body_data
        , char *p_name, hessian_parse *p_st_parse);
        
/*!
 * \brief hessian req 解析
 *
 * \arg         p_st_data 数据内容
 *              p_st_body_data 上报数据收集链表
 *              i_use_request 是否为request
 *              p_prefix 上报值前缀名         (hessian  或者 http.hessian)
 *              p_st_parse hessian 数据相关信息
 *
 * \return      FR_SUCC:成功
 *              FR_FAIL:失败
 *
 */
int frhessian_req_read(Frbyte_Packet *p_st_data, Frreport_body_data *p_st_body_data
        , char *p_prefix);

#endif //APM_R4_FRHESSIAN_H
